
#include <iostream>
#include <string>
#include "Log.h"

int main()
{
    // 日志要达到一种怎样的使用效果呢？

    // 日志类对象([日志等级],[所在文件],[行号]) << "输出消息"...; // 支持消息拼接,该行代码结束后自动刷新出缓冲区
    // zmh::Log(false)(zmh::DEBUG,std::string(__FILE__),std::to_string(__LINE__)) << "我要成为一个非常优秀的程序员" << 1 << 2 << 3;
    // zmh::Log(false)(zmh::DEBUG,std::string(__FILE__),std::to_string(__LINE__)) << "我要和小梦涵结婚生子";

    LOG_STDOUT(zmh::DEBUG) << "2025年4月7日" << " ,距离蓝桥杯开始还有5天";
    LOG_STDOUT(zmh::FATAL) << "我要成为一个非常优秀的程序员";
    LOG_FILEOUT(zmh::DEBUG) << "2025年4月7日" << " ,距离蓝桥杯开始还有";
    LOG_FILEOUT(zmh::FATAL) << "我要成为一个非常优秀的程序员";

    // 我还有非常多，非常多的BUG，待解决.....
    // 我想起来了第一个BUG,是流拼接的问题，没有得到解决
    // 方便用户使用,对一些基础的日志使用格式进行宏定义
    // 内存安全
    // 当前使用裸指针 bash_refresh* ptr
    // 文件操作 fopen 未检查关闭
    // 错误处理
    // 文件创建失败时应抛出明确异常，而非简单 throw "错误"。
    // 性能优化
    // 避免频繁构造/析构 LogMessage（如使用线程局部存储）。
    return 0;
}
